package com.we.wecc.us.mid.service;

import com.we.wecc.us.db.model.User;
import com.we.wecc.us.db.model.UserAddress;
import com.we.wecc.us.db.model.UserCoinAddress;
import com.we.wecc.us.mid.model.in.UserAddressIn;
import com.we.wecc.us.mid.model.in.UserCoinAddressIn;
import com.x.share.db.model.Pagination;

import java.util.Map;

public interface UserService {
	
	/**
	 * 获取用户详情
	 * @param userId
	 * @return
	 */
	User getUserDetail(Long userId);

	/**
	 * 添加或修改用户提币地址
	 * @param in
	 * @return
	 */
	UserCoinAddress saveCoinAddress(UserCoinAddressIn in);

	/**
	 * 分页获取用户提币地址
	 * @param userId
	 * @return
	 */
	Pagination<UserCoinAddress> getUserCoinAddressList(Long userId, Integer pageNo, Integer pageSize);

	/**
	 * 删除用户提币地址
	 * @param userCoinAddressId
	 * @return
	 */
	Boolean deleteUserCoinAddress(Long userCoinAddressId);

	/**
	 * 获得上次提币地址
	 * @param userId
	 * @return
	 */
	Map<String,Object> getLastCoinAddress(Long userId);

	/**
	 * 添加或修改用户收获地址
	 * @param in
	 * @return
	 */
	UserAddress saveAddress(UserAddressIn in);

	/**
	 * 分页获取用户提币地址
	 * @param userId
	 * @return
	 */
	Pagination<UserAddress> getUserAddressList(Long userId, Integer pageNo, Integer pageSize);

	/**
	 * 根据id获取用户地址
	 * @param id
	 * @return
	 */
	UserAddress getUserAddress(Long id);

	/**
	 * 删除用户提币地址
	 * @param userAddressId
	 * @return
	 */
	Boolean deleteUserAddress(Long userAddressId);

}
